1. Field of the Invention
The present invention relates to a packet transfer method and a node device for providing a constant level of communication quality in a packet communication network.
2. Description of the Background Art
In the packet communication network such as IP (Internet Protocol) network, for example, a router determines an output link by searching through a routing table at a time of packet transfer. This routing table search requires a relatively large processing amount so that it tends to be the bottleneck in improving the router speed.
In order to resolve this bottleneck, there are propositions of a new packet transfer schemes. For example, in the router called CSR (Cell Switch Router), one VC (Virtual Connection) of ATM or the like is provided for each group of packet flows that are to be transferred by the same route and a correspondence between that VC and the packet flows that flow through there is notified to neighboring CSRs (this operation will be referred to as a protocol for VC set up). The cells from the input VC can be sent to the output VC without reassembling them into IP packets, by storing the correspondence between the input VC and the corresponding output VC for each packet flow. Hereafter, this packet transfer will be referred to as the cut-through transfer. In this cut-through transfer, there is no need to search out the output link for each IP packet from the routing table so that it is possible to realize a high speed packet transfer.
Also, in the router called LSR (Label Switch Router), a value called label is written between an IP packet header and a datalink packet header, for instance, where different labels are used for different packet flows that share the same route, even in the case of using the connectionless datalink media such as Ethernet. The LSR can determine the output link and the output label value from the label value of the received packet, by storing a correspondence between the input label and the corresponding output label value and output link. In this way, similarly as in the CSR, the IP packet transfer is carried out without the IP processing such as IP routing table search. Namely, in the LSR, a virtual channel is set up even in the connectionless datalink media by using the label, and the packet transfer without the Ip processing is carried out according to an identifier (that is the label) of this virtual channel. Hereafter, a path through which the packet is transferred without the IP processing by using the label will be referred to as an LSP (label Switched Path).
Now, an exemplary case of using ATM as the datalink layer media used in the LSR will be described, but as already mentioned above, it is possible to set up a virtual channel by using the concept of the label even in the case of using the connectionless data link media such as Ethernet, so that the same description as in the case of ATM also holds in such a case.
When the flow is defined as a group of packets which have the same set of (destination address, destination port number, protocol number, source address, source port number), the LSR sets up one VC with respect to a group of flows which share the same route. For example, one VC is set up for the purpose of transferring flow groups which have the same set of (destination address, source address). In this way, it is possible to reduce the necessary number of VCs than the case of setting up one VC for each flow. Else, by setting up one VC for the purpose of transferring flow groups which have the same set of (destination network address, source network address), it is possible to reduce the necessary number of VCs further. Else, it is also possible to set up one VC for the purpose of transferring flow groups which have the same edge router as an ingress node of some domain and the same destination network address, or to set up one VC for the purpose of transferring flow groups which have the same edge routers as ingress and egress nodes of some domain.
Here, an exemplary case of the cut-through transfer with respect to the multicast flow will be described with reference to FIG. 8.
FIG. 8 shows a situation in which a transmitting terminal 501 and receiving terminals 601 and 602 are connected to an LSR network (domain) 901 formed by four LSRs 701 to 704, through communication channels 101 to 103 respectively. The communication channels 101 to 103 are channels for connecting edge LSRs of the LSR network with communication devices external to the LSR network. Each of these channels may not necessarily be a physically single channel and can be a virtual communication channel formed by the router network, for example. Also, VCs 801 to 803 are set up on the communication channels among the LSRs 701 to 704. Each of these channels between the LSRs also may not necessarily be a physically single channel and can be a virtual communication network formed by the ATM network.
The transmitting terminal 501 is transmitting a multicast flow A, a multicast flow B, and a multicast flow C, and the receiving terminals 601 and 602 are receiving these multicast flows. Here, the flows A, B and C are assumed to have the same destination multicast address and source address, but at least one of the destination port number, the source port number and the protocol number is different among them.
In FIG. 8, the ingress LSR 701 of the LSR network 901 is transferring packets belonging to the flows A, B and C to the VC 801, and the next hop LSR 702 is carrying out the cut-through transfer by outputting cells from the input VC 801 to the output VCs 802 and 803.
Now, in the connectionless network such as IP network, for example, the amount of delay exerted on packets becomes larger when the amount of packets that arrive at a router for carrying out the packet transfer becomes larger. However, in this case, each terminal is entrusted to make the judgement as to whether or not to reduce the load on the router by limiting the amount of packets transmitted by the terminal, and each terminal has no obligation to limit the amount of packets it transmits. This is because IP is designed without any consideration for the guarantee of the communication quality. For this reason, in the IP network, it is normally impossible to guarantee the communication quality with respect to a user. However, in order to carry out the video communication, for instance, it is necessary to guarantee the communication quality such as packet transfer delay, and for this reason there are active discussions about the way of guaranteeing the communication quality in the IP network.
For example, in the standardization organization called IETF, a scheme for notifying a necessary bandwidth called RSVP (Resource ReSerVation Protocol) has been proposed. This scheme uses seven types of control messages including Path message. Resv message, PathTear message, ResvTear message, PathErr message, ResvErr message, and Confirmation message. The basic operation of RSVP is that the transmitting terminal notifies the transmission traffic characteristic to the network and the receiving terminal using the control message called Path message, and the receiving terminal notifies a necessary bandwidth to the network using the control message called Resv message. When values in fields of Path message are inappropriate, the network transmits PathErr message, and when values in fields of Resv message are inappropriate, the network transmits ResvErr message. Also, by transmitting PathTear message from a transmitting side node (the transmitting terminal or a router) or ResvTear message from a receiving side node (the receiving terminal or a router), it is possible to delete the reserved bandwidth immediately. In RSVP, the transmission of Path message and Resv message is carried out regularly in order to deal with a change of communication route by the network and a malfunction of a router.
Now, flows of Path message and Resv message in RSVP will be described with reference to FIGS. 9A and 9B.
FIG. 9A shows a flow of Path message in the case where the transmitter terminal (S) 501 transmits Path message. Here, the transmitting terminal (S) 501 is transmitting data packets toward a multicast group to which the receiving terminals (D1) 601 and (D2) 602 belong. Then, the transmitting terminal (S) 501 transmits Path message with the same destination address as the destination address of the data packets. By using the destination address of Path message that is identical to the destination address of the data packet, Path message and the data packet will be transferred through the same route so that a router on the route of the data packet can learn the flow transmitted from the transmitted terminal (S) 501 and its traffic characteristic, as well as an address of a previous hop router, from Path message. Also, the receiving terminal transmits Resv message in order to command the bandwidth reservation to the network.
FIG. 9B shows a flow of Resv messages in the case where the receiving terminals (D1) 801 and (D2) 602 transmit Resv messages. Here, the receiving terminal (D1) 601 is transmitting Resv message toward its previous hop router 702, and as the message is sequentially transferred through the routers on the route, the command for bandwidth reservation is notified to all the routers on the route and the transmitting terminal (S) 501. Also, the receiving terminal (D2) 602 is transmitting Resv message to its previous hop router 702, and this message is sequentially transferred through the route. In FIG. 9B, all the receiving terminals (D1) 601 and (D2) 602 are transmitting Resv messages, but in RSVP, a receiving terminal that does not wish to reserve bandwidth is not required to transmit Resv message. In this way, the necessary bandwidth notification procedure of RSVP is carried out by transmitting the control messages between the transmitting terminal and the receiving terminal that wishes to reserve bandwidth. This transmission of the control messages is also repeated regularly. A full description of the procedure of RSVP outlined here can be found in Internet RFC 2205, Braden et al., xe2x80x9cResource ReSerVation Protocol (RSVP)xe2x80x94Version1 Functional Specificationxe2x80x9d, September, 1997.
Now, when RSVP is to be supported at the LSR, it is preferable to set up a VC for transferring only the specified flows and carry out the cut-through transfer using this VC in order to provide the desired communication quality to the specification flows. FIG. 10 shows an exemplary case where only the receiving terminal (D1) 601 requested bandwidth reservation for the flow A by RSVP, and upon receiving Resv message, VCs 804 and 805 are newly set up for the flow A for which bandwidth is requested, and the flow A are transferred through these VCs 804 and 805. As a result, the VCs 804 and 805 for the flow A alone are set up through the route for which the bandwidth reservation is requested, but in the route between the LSRs 1702 and 1704 for which the bandwidth reservation is not requested, the flows A, B and C are all transferred through through the single VC 803. In this case, there is a problem that the LSR 1702 is required to carry out a special operation to transfer IP packets that arrive from the VCs 801 and 804 into the single VC 803. This operation is called a VC merging. In the case where AAL5 frames are used at the AAL layer of ATM, there is a possibility for the LSR 1702 to receive cells belonging to two AAL5 frames simultaneously, and in such a case, it is necessary to transfer them to the VC 803 such that cells belonging to two AAL5 frames are not mixed up. This operation is required in order to reconstruct AAL5 frames at the receiving side. The VC merging has a drawback in that it increases the amount of processing when it is realized by software, or that it requires a special hardware when it is realized by hardware.
Note that the case of IP network has been described here as a concrete example, but schemes for reserving bandwidth on the connectionless communication network which is not limited to the IP network already exist and are expected to appear in future. Also, the case of carrying out ATM switching has been described here as a concrete example of the LSR, but IP lower layers other than ATM to which the label switching technique is applicable already exist and are expected to appear in future.
As described, in order to reduce the necessary number of VCs in the LSR, it is preferable to transfer as many flows as possible through a single VC and carry out the cut-through transfer using this VC. However, when the bandwidth reservation for a specific flow is requested, if a VC for transferring this flow alone is newly set up, the VC merging would be required.
It is therefore an object of the present invention to provide a packet transfer method and a node device in which the VC merging is unnecessary at the LSR even when the communication resource reservation (or the high priority transfer) is requested.
According to one aspect of the present invention there is provided a method for transferring packets from a sender to a plurality of receivers via a network of nodes having a network layer processing function, the method comprising the steps of: setting up at each node one or a plurality of virtual channels for a specific flow, toward all of said plurality of receives regardless of whether each receiver requested a communication quality for the specific flow or not, upon receiving a message used in a procedure for reserving the communication quality for the specific flow that is transmitted from an upstream side to a downstream side on a route of the specific flow toward said plurality of receivers; storing at each intermediate node a correspondence between an upstream side virtual channel for the specific flow and one or a plurality of downstream side virtual channels for the specific flow; and transferring packets at each intermediate node by carrying out a transfer processing at a layer lower than a network layer according to the correspondence.
According to another aspect of the present invention there is provided a method for transferring packets from a sender to a plurality of receivers via a network of nodes having a network layer processing function, the method comprising the steps of: setting up at each hole one virtual channel for a specific flow toward at least one receiver among said plurality of receivers, and transmitting notification messages indicating a need to set up virtual channels for the specific flow toward other receivers on a downstream side of each node among said plurality of receivers, upon receiving a message for requesting a communication quality for the specific flow that is transmitted from said at least one receiver to the sender toward an upstream side, such that a separate virtual channel set up procedure for setting up virtual channels for the specific flow toward the other receivers is activated among nodes on a route of the specific flow in response to the notification messages; storing at each intermediate node a correspondence between an upstream side virtual channel for the specific flow and one or a plurality of downstream side virtual channels for the specific flow; and transferring packets at each intermediate node by carrying out a transfer processing at a layer lower than a network layer according to the correspondence.
According to another aspect of the present invention there is provided a method for transferring packets from a sender to a plurality of receivers via a network of nodes having a network layer processing function, the method comprising the steps of: setting up at each node virtual channels toward said plurality of receivers that can be shared by a plurality of flows; outputting packets to the virtual channels at a node for transferring packets by a transfer processing at a network layer, such that when a communication quality for one flow among said plurality of flows is requested by one receiver among said plurality of receivers, packets belonging to said one flow are outputted to the virtual channels at higher priority than packets belonging to other flows among said plurality of flows: storing at each intermediate node a correspondence between an upstream side virtual channel that can be shared by said plurality of flows and one or a plurality of downstream side virtual channels that can be shared by said plurality of flows; and transferring packets at each intermediate node by carrying out a transfer processing at a layer lower than a network layer according to the correspondence.
According to another aspect of the present invention there is provided a node device on a route for transferring packets from a sender to a plurality of receivers, comprising: a processing unit for applying a network layer processing to packets; a virtual channel set up unit for setting up one or a plurality of virtual channels for a specific flow, toward all of said plurality of receivers regardless of whether each receiver requested a communication quality for the specific flow or not, upon receiving a message used in a procedure for reserving the communication quality for the specific flow that is transmitted from an upstream side to a downstream side on a route of the specific flow toward said plurality of receivers; a memory for storing a correspondence between an upstream side virtual channel for the specific flow and one or a plurality of downstream side virtual channels for the specific flow; and a transfer unit for transferring packets by carrying out a transfer processing at a layer lower than a network layer according to the correspondence.
According to another aspect of the present invention there is provided a node device on a route for transferring packets from a sender to a plurality of receivers, comprising: a processing unit for applying a network layer processing to packets; a virtual channel set up unit for setting up one virtual channel for a specific flow toward at least one receiver among said plurality of receivers, and transmitting notification messages indicating a need to set up virtual channels for the specific flow toward other receivers on a downstream side of the node device among said plurality of receivers, upon receiving a message for requesting a communication quality for the specific flow that is transmitted from said at least one receiver to the sender toward an upstream side, such that a separate virtual channel set up procedure for setting up virtual channels for the specific flow toward the other receivers is activated among nodes on a route of the specific flow in response to the notification messages; a memory for storing a correspondence between an upstream side virtual channel for the specific flow and one or a plurality of downstream side virtual channels for the specific flow; and a transfer unit for transferring packets by carrying out a transfer processing at a layer lower than a network layer according to the correspondence.
According to another aspect of the present invention there is provided a network of nodes for transferring packets from a sender to a plurality of receivers, each node having a processing unit for applying a network layer processing to packets and a virtual channel set up unit for setting up virtual channels toward said plurality of receivers that can be shared by a plurality of flows, and the network including: an edge node for transferring packets by a transfer processing at a network layer, such that when a communication quality for one flow among said plurality of flows is requested by one receiver among said plurality of receivers, packets belonging to said one flow are outputted to the virtual channels at higher priority than packets belonging to other flows among said plurality of flows; and at least one intermediate node having a memory for storing a correspondence between an upstream side virtual channel that can be shared by said plurality of flows and one or a plurality of downstream side virtual channels that can be shared by said plurality of flows, and a transfer unit for transferring packets by carrying out a transfer processing at a layer lower than a network layer according to the correspondence.
Other features and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings.